/*                                  ATELIER                                   */

/* %%LICENSE_TAG%%                                                            */
package edu.gmu.view.canvas;

import java.awt.Cursor;
import javax.swing.event.MouseInputListener;

/**
 * MouseMode listens for and handles events on a Canvas.
 */
public interface MouseMode extends MouseInputListener
{
    /**
     * Sets the Canvas for the MouseMode.
     * 
     * @param canvas
     */
    public void setCanvas( Canvas canvas );

    /**
     * Gets the Canvas for the MouseMode.
     * 
     * @return Canvas canvas
     */
    public Canvas getCanvas( );
    
    /**
     * Gets the Cursor for the MouseMode.
     *
     * @return Cursor cursor
     */
    public Cursor getCursor( );
    
    /**
     * Gets the Name of the MouseMode.
     *
     * @return String name
     */
    public String getName( );
    
    /**
     * Sets the active state of the MouseMode.
     *
     * @param active
     */
    public void setActive( boolean active );
    
    /**
     * Gets the active state of the MouseMode.
     *
     * @return boolean true if MouseMode is active
     */
    public boolean getActive( );
    
    /**
     * Gets the active state of the MouseMode.
     *
     * @return boolean true if MouseMode is active
     */
    public boolean isActive( );
    
}

/*                                  ATELIER                                   */